import App from './App'
// #ifndef VUE3
import Vue from 'vue'
import './uni.promisify.adaptor'
import uView from '@/uni_modules/uview-ui'
import Vuex from 'vuex'
import store from 'store/store.js' // 导入外部正确配置好的 Vuex 仓库实例

Vue.use(Vuex)
Vue.use(uView)

// 这里不再重新声明 store，直接使用导入的 store 实例

// 定义全局的 $toast 方法，添加兼容性判断
if (typeof uni!== 'undefined' && typeof uni.showToast === 'function') {
    Vue.prototype.$toast = function (title) {
        uni.showToast({
            title: `您点了` + title,
            icon: 'none'
        })
    }
}

Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
    store, // 将 store 实例挂载到 Vue 实例上
   ...App
})
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
import App from './App'
import Vuex from 'vuex'
import uView from '@/uni_modules/uview-ui'

// 创建 store 实例
const store = new Vuex.Store({
    state: {
        userData: null
    },
    mutations: {
        setUserData(state, userData) {
            state.userData = userData;
        }
    }
})

const app = createSSRApp(App)

app.use(uView)
app.use(store) // 正确使用 app.use 挂载 store 实例，不再重复传入 Vuex 构造函数

export function createApp() {
    return {
        app
    }
}
// #endif